home *** CD-ROM | disk | FTP | other *** search
- /* ==============
- * AEAAccessor.hh
- * ==============
- */
-
- #pragma once
-
- #include <AppleEvents.h>
- #include <AEObjects.h>
- #include <Errors.h>
-
- typedef pascal OSErr (AEAObjectAccessorFunc)
- (DescType , const AEDesc *, DescType , DescType , const AEDesc *, AEDesc *, long );
- typedef AEAObjectAccessorFunc *AEAObjectAccessorFuncPtr;
-
- class AEAAccessor {
- // Member functions
- public:
- AEAAccessor(DescType inDesiredClass, DescType inContainerType);
- virtual ~AEAAccessor();
-
- virtual void AccessObject(DescType inDesiredClass,
- const AEDesc *inContainerToken, DescType inContainerClass,
- DescType inKeyForm, const AEDesc *inKeyData, AEDesc *outToken) const;
- protected:
- virtual AEAObjectAccessorFuncPtr AccessorFunc();
- static pascal OSErr GenericObjectAccessor(
- DescType inDesiredClass, const AEDesc *inContainerToken, DescType inContainerClass,
- DescType inKeyForm, const AEDesc *inKeyData, AEDesc *outToken, long inRefCon);
- static OSLAccessorUPP sOSLAccessorUPP;
- virtual void Install();
- virtual void Remove();
- // Data members
- protected:
- DescType mDesiredClass;
- DescType mContainerType;
- AEAObjectAccessorFuncPtr mAccessorFunc;
- };
-